package com.liuzy.executor;

import java.io.InputStream;
import java.io.OutputStream;

/**
 * 父类执行者
 * 
 * @author liuzy
 * @version 2015年5月2日
 */
public class Executor implements IExecutor {
	
	public static enum CONSOLE {
		SERVER,
		CMD,
		SQL
	}
	
	// 指令输入的流
	protected InputStream in;
	
	// 执行结果输出的流
	protected OutputStream out;
	
	public Executor() {
		
	}
	// 初始化
	public Executor(InputStream in, OutputStream out) {
		this.in = in;
		this.out = out;
		this.init();
	}
	
	@Override
	public void init() {
		this.writeMsg("\r\n超级命令行 作者:liuzy\r\n**************\r\ncmd 进入Windows命令行\r\nsql 进入sql命令行\r\nstatus 显示服务状态\r\nexit 退出当前连接\r\nshutdown 停止服务关闭所有连接\r\nhelp 显示此帮助\r\n**************\r\n联系我 QQ416657468\r\n>");
	}

	@Override
	public void execute(String cmd) {
		this.writeMsg(cmd);
	}

	@Override
	public void destroy() {
		
	}

	public void writeMsg(String msg) {
		this.writeMsg(msg.getBytes());
	}
	
	public void writeMsg(byte[] bytes) {
		try {
			this.out.write(bytes);
			this.out.flush();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
}
